package br.com.etecmatao.admin.controller;

import br.com.etecmatao.business.BusinessLocator;
import br.com.etecmatao.business.impl.BusinessLocatorImpl;
import br.com.etecmatao.model.CategoriaDownload;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

@ManagedBean
public class FormCategoriaDownload {

    private CategoriaDownload categoriaDownload;
    private BusinessLocator businessLocator;
    private DataModel<CategoriaDownload> lista;

    public DataModel<CategoriaDownload> getLista() {
        lista = new ListDataModel<CategoriaDownload>(businessLocator.getCategoriaDownloadBusiness().finByAll());
        return lista;
    }

    public void setLista(DataModel<CategoriaDownload> lista) {
        this.lista = lista;
    }

    public FormCategoriaDownload() {
        categoriaDownload = new CategoriaDownload();
        businessLocator = new BusinessLocatorImpl();
    }

    public CategoriaDownload getCategoriaDownload() {
        return categoriaDownload;
    }

    public void setCategoriaDownload(CategoriaDownload categoriaDownload) {
        this.categoriaDownload = categoriaDownload;
    }

    public void save() {
        categoriaDownload.setLogin((br.com.etecmatao.model.Login) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("user"));
        if (categoriaDownload.getIdCategoriaDownload() != null) {
            businessLocator.getCategoriaDownloadBusiness().save(categoriaDownload);
        }else{
            businessLocator.getCategoriaDownloadBusiness().update(categoriaDownload);
        }
        FacesContext.getCurrentInstance().addMessage("messages", new FacesMessage("Cadastro realizado com sucesso"));
    }

    public void delete(){
        categoriaDownload = lista.getRowData();
        businessLocator.getCategoriaDownloadBusiness().delete(categoriaDownload);
    }

    public String editar(){
        categoriaDownload = lista.getRowData();
        return "formCategoriaDownload";
    }

    public String create(){
        categoriaDownload = new CategoriaDownload();
        return "formCategoriaDownload";
    }

}
